package com.coin900.coin.persist.fu;

import com.coin900.coin.persist.FuVO;
import com.coin900.coin.persist.sbi.SbiRateVO;

/**
 * 用户钱包
 *
 * @author shui
 * @create 2018-1-17
 */
public class FuUserWalletVO extends FuVO {

    /**
     * 用户 id
     */
    private Long userId;

    /**
     * 虚拟币 id
     */
    private Long coinId;

    /**
     * 虚拟币个数
     */
    private Double balance;

    /**
     * 锁定的数量
     */
    private Double blocked;

    /**
     * 可用虚拟币数量
     */
    private Double available;

    /**
     * 钱包地址
     */
    private String address;

    /***** 非持久化数据开始 START *****/

    /**
     * 币种对应的汇率
     */
    private SbiRateVO rateVO;

    /**
     * 虚拟币名称
     */
    private String coinName;

    /**
     * 估值
     */
    private Double valuation;

    /**
     * 币的类型 1虚拟币 2代币
     */
    private Integer type;

    /**
     * 订单类型 1进行中的项目订单 2预售项目订单
     */
    private Integer orderType;

    /***** 非持久化数据开始 END *****/

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getCoinId() {
        return coinId;
    }

    public void setCoinId(Long coinId) {
        this.coinId = coinId;
    }

    public Double getBalance() {
        return balance;
    }

    public void setBalance(Double balance) {
        this.balance = balance;
    }

    public Double getBlocked() {
        return blocked;
    }

    public void setBlocked(Double blocked) {
        this.blocked = blocked;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getAvailable() {
        return available;
    }

    public void setAvailable(Double available) {
        this.available = available;
    }

    public Double getValuation() {
        return valuation;
    }

    public void setValuation(Double valuation) {
        this.valuation = valuation;
    }

    public String getCoinName() {
        return coinName;
    }

    public void setCoinName(String coinName) {
        this.coinName = coinName;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public SbiRateVO getRateVO() {
        return rateVO;
    }

    public void setRateVO(SbiRateVO rateVO) {
        this.rateVO = rateVO;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    @Override
    public String toString() {
        return super.toString() +
                "FuUserWalletVO{" +
                "userId=" + userId +
                ", coinId=" + coinId +
                ", balance=" + balance +
                ", blocked=" + blocked +
                ", available=" + available +
                ", address='" + address + '\'' +
                ", rateVO=" + rateVO +
                ", coinName='" + coinName + '\'' +
                ", valuation=" + valuation +
                ", type=" + type +
                ", orderType=" + orderType +
                '}';
    }
}